perm filename IMP.FAI[SS,SYS] blob sn#709904 filedate 1983-05-06 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	 a b c d p lpdl pdl imp loop lhzero next decout octout sixout
C00005 ENDMK
C⊗;
;⊗ a b c d p lpdl pdl imp loop lhzero next decout octout sixout

title imp

a←1
b←2
c←3
d←4
p←17

lpdl←40
pdl:	block lpdl

imp:	reset
	move p,[iowd lpdl,pdl]
	outstr [asciz/Job	Name	RmtAdr		RmtPrt	LclPrt	State
/]
	movei a,347
	peek a,
	movem a,pjobn#	;save byte ptr to job number in DDB
	hrri a,b	;make ptr into B
	movem a,pjobnb#	;save for later
	movei a,225
	peek a,		;get ptr to JOBNAM table
	movem a,jobnam#
	movei a,217
	peek a,
	peek a,
	hlrzs a,a
loop:	movei b,(a)
	peek b,		;get device name
	came b,['imp   ']
	jrst next
	hrrz b,pjobn	;get addr of word containing job number
	addi b,(a)	;add in DDB address
	movei b,(b)	;just RH addr
	peek b,		;get job number word
	ldb b,pjobnb	;get job number
	push p,b	;save it
	pushj p,decout	;print job number
	outchr [11]
	pop p,b
	add b,jobnam	;make address of JOBNAM table entry for this job
	peek b,		;get job name
	pushj p,sixout	;print job name
	outchr [11]
	movei b,52(a)	;get rmtadr
	peek b,
	skipn b
	outchr [11]
	pushj p,octout
	outchr [11]
	movei b,57(a)	;get rmtprt
	peek b,
	pushj p,octout	;print
	outchr [11]
	movei b,60(a)	;get lclprt
	peek b,
	pushj p,octout
	outchr [11]
	movei b,61(a)	;get state
	peek b,
	tlnn b,-1	;lh nonzero?
	jrst lhzero	;no
	push p,b
	hlrz b,b	;get lh
	pushj p,octout	;print lh
	outstr [asciz/,,/]
	pop p,b
	movei b,(b)	;just rh
lhzero:	pushj p,octout
	outstr [asciz/
/]
next:	movei a,3(a)
	peek a,
	hlrzs a,a
	jumpn a,loop
	exit

decout:	idivi b,=10
	hrlm c,(p)
	jumpe b,.+2
	pushj p,decout
	hlrz c,(p)
	addi c,"0"
	outchr c
	popj p,

octout:	idivi b,10
	hrlm c,(p)
	jumpe b,.+2
	pushj p,octout
	hlrz c,(p)
	addi c,"0"
	outchr c
	popj p,

sixout:	movei c,0
	rotc b,6	;next char into C
	addi c,40	;convert to ascii
	outchr c
	jumpn b,sixout	;loop until only nulls left
	popj p,

	end imp